The present invention relates to network communication, and more particularly to authenticated communication across an insecure network.
Data communication across computer networks has become a standard in both professional and personal computing environments. With the increase in reliance on computer networks for data communication, increased efforts have arisen to ensure that networks remain secure during data transfers. More particularly, data encryption techniques have been developed and utilized to aid in securing data communication across networks.
Encryption suitably refers to the transformation of plaintext data into an unintelligible form known as ciphertext. Encryption is usually accomplished by the application of mathematical algorithms on the plaintext data. These algorithms are defined by parameters known as xe2x80x98keysxe2x80x99. Two common encryption methods are symmetric methods which use private keys, and asymmetric methods which use public keys. Both private key encryption (such as DES (Data Encryption Standard)) and public key encryption methods have been implemented, but, key cryptographic methods alone do not allow a recipient to authenticate the validity of the public key nor to validate the identity of the sender.
In general, authentication allows for the verification that someone or something is valid or genuine. Digital signature authentication allows the receiver of a message to be confident of the identity of the sender and/or the integrity of the message. Digital signatures have been used to guarantee the validity of a public key by being incorporated into a digital certificate. The xe2x80x98signedxe2x80x99 document containing the digital signature attests to the validity and public key of the person signing the message, and prevents one user from impersonating another through a phony key pair. Along with the public key and name of the subject, the certificate also contains the validity period of the key, the name of the issuer of the certificate, the certificate serial number, and is digitally signed by the issuer. However, a secure, centralized repository is required for storing and managing the keys. For example, the X.500 directory may be used as a repository for storing certificates, with association of the public keys of network users with their distinguished name. (An X.500 distinguished name refers to a unique object in the X.500 Directory, and is a sequence of vertex points leading from the xe2x80x98rootxe2x80x99 of the tree to the object of interest, as is conventionally understood). The X.500 standard defines an authentication framework, known as X.509, for use by OSI (Open Systems International connection) applications to provide a basis for authentication and security services. The X.509 framework describes how authentication information is formed and placed in the directory. The X.509 authentication framework also defines basic security services, including simple and strong authentication. Strong authentication involves the use of public key cryptographic standard (PKCS) and a trusted hierarchy of Certificate Authorities (CAs), where a CA refers to a trusted source for obtaining a user""s authentication information or certificate.
While data encryption techniques do provide security for network communications, such security measures are too extreme and costly to implement for some networks. For example, in certain situations, total data security is not as vital as verification that systems performing communication are authentic. A desire remains therefore for authenticated communication across an insecure network. In such situations, the concern is ensuring that the communicating system is genuine in its representation, rather than strict security of data.
Accordingly, what is needed is a method and system for providing an authenticated communication channel in an efficient and effective manner. The present invention addresses such a need.
The present invention provides method and system aspects for authenticated communication of messages among computer systems in an insecure network. These aspects include building a first signed object message in a first computer system, the first signed object message including a first sequence number, a first object, and a first signature. Further included is sending the first signed object message to a second computer system, verifying the first signed object message in the second computer system, and building a second signed object message in the second computer system for replying to the first computer system when the first signed object message is verified, the second signed object message including a second sequence number, a second object, and a second signature.
Through the present invention, communication among computer systems in an insecure network readily occurs in an authenticated manner. Further, the signed object exchange utilizes available resources in an innovative and straightforward manner, while achieving communication techniques that are resistant to replay attacks and exportable. These and other advantages of the aspects of the present invention will be more fully understood in conjunction with the following detailed description and accompanying drawings.